package com.ruoyi.webs.utils;


import org.apache.commons.lang3.StringUtils;

public class StringConverNumUtils {
    public static void main(String[] args) {
        String str = "asss223213123sd3333333333333333333333f123df";
        String prefixNumberTextIgnoreSpace = getNumberStr(str);
        System.out.println(prefixNumberTextIgnoreSpace);
    }


    public static String getPrefixNumberTextIgnoreSpace(String str) {
        if (StringUtils.isBlank(str)) {
            return "";
        }
        boolean firstFlag = true;
        StringBuffer number = new StringBuffer("");

        String[] strArray = str.split("");
        int length = strArray.length;
        for (int i = 0; i < length; i++) {
            boolean numeric = StringUtils.isNumeric(strArray[i]);
            if (!StringUtils.isBlank(strArray[i])) {
                if (numeric) {
                    number.append(strArray[i]);
                    firstFlag = false;
                } else if (!firstFlag) {
                    break;
                }
            }
        }


        return number.toString();
    }

    public static String getNumberStr(String str) {
        String newNumStr = getPrefixNumberTextIgnoreSpace(str);
        if (StringUtils.isNotBlank(newNumStr)) {
            int indexOf = str.indexOf(newNumStr);
            if (indexOf + newNumStr.length() >= str.length()) {
                return newNumStr;
            }
            String numStr = getNumberStr(str.substring(indexOf + newNumStr.length()));
            if (numStr.length() > newNumStr.length()) {
                return numStr;
            }
            return newNumStr;
        }


        return newNumStr;
    }
}